package cn.oms.billing.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("journal_account_detail")
@ApiModel(value="JournalAccountDetail对象", description="")
public class JournalAccountDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "流水ID（新增生成）（用于关联账单与付款交易记录）UUID")
    @TableField("JOURNAL_ACCOUNT_ID")
    private String journalAccountId;

    @ApiModelProperty(value = "付款ID（对应付款交易记录表）")
    @TableField("PAY_ID")
    private String payId;

    @ApiModelProperty(value = "产品总计金额")
    @TableField("ITEM_TOTAL_PRICE")
    private BigDecimal itemTotalPrice;

    @ApiModelProperty(value = "医保折扣率")
    @TableField("MBF_DISCOUNT")
    private BigDecimal mbfDiscount;

    @ApiModelProperty(value = "医保扣减金额")
    @TableField("MBF_DISCOUNT_PRICE")
    private BigDecimal mbfDiscountPrice;

    @ApiModelProperty(value = "医保扣减金额单位CODE(对应单位表)")
    @TableField("MBF_DISCOUNT_PRICE_UNIT_CODE")
    private String mbfDiscountPriceUnitCode;

    @ApiModelProperty(value = "医保扣减金额单位名称（元）")
    @TableField("MBF_DISCOUNT_PRICE_UNIT_NAME")
    private String mbfDiscountPriceUnitName;

    @ApiModelProperty(value = "产品折扣率")
    @TableField("ITEM_DISCOUNT")
    private BigDecimal itemDiscount;

    @ApiModelProperty(value = "产品折扣金额")
    @TableField("ITEM_DISCOUNT_PRICE")
    private BigDecimal itemDiscountPrice;

    @ApiModelProperty(value = "产品折扣金额单位CODE(对应单位表)")
    @TableField("ITEM_DISCOUNT_PRICE_UNIT_CODE")
    private String itemDiscountPriceUnitCode;

    @ApiModelProperty(value = "产品折扣金额单位名称（元）")
    @TableField("ITEM_DISCOUNT_PRICE_UNIT_NAME")
    private String itemDiscountPriceUnitName;

    @ApiModelProperty(value = "最终净金额（元）")
    @TableField("ITEM_NET_AMOUNT_PRICE")
    private BigDecimal itemNetAmountPrice;

    @ApiModelProperty(value = "最终净金额单位CODE(对应单位表)")
    @TableField("ITEM_NET_AMOUNT_PRICE_UNIT_CODE")
    private String itemNetAmountPriceUnitCode;

    @ApiModelProperty(value = "最终净金额单位名称（元）")
    @TableField("ITEM_NET_AMOUNT_PRICE_UNIT_NAME")
    private String itemNetAmountPriceUnitName;

    @ApiModelProperty(value = "付费标记（0未付费 1已付费）")
    @TableField("PAY_FLAG")
    private Integer payFlag;

    @ApiModelProperty(value = "付费时间")
    @TableField("PAY_TIME")
    private LocalDate payTime;

    @ApiModelProperty(value = "付费状态（0未返回 1成功 2失败）")
    @TableField("PAY_RETURN_TYPE")
    private Integer payReturnType;

    @ApiModelProperty(value = "付费状态返回时间")
    @TableField("PAY_RETURN_TYPE_TIME")
    private LocalDate payReturnTypeTime;

    @ApiModelProperty(value = "添加时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
